Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2013, 11:02
Интересующийся
Отправить личное сообщение для izbash Посмотреть профиль Найти все сообщения от izbash
 
Регистрация: 28.06.2013
Сообщений: 19

Помощь от старших товарищей (goo.gl api)
Здравствуйте!

Хочу произвести на свет свое первое полезное творение сокращатель URL, при помощи goo.gl API (документация). Только начинаю применять теорию JS на практике, поэтому прошу помощи у более опытных товарищей. Собственно хочу увидеть как написать скрипт который:

1. Берет ссылку текущего сайта из адресной строки браузера
2. Отправляет ее на goo.gl
3. Укорачивает
4. Возвращает укороченную ссылку
Ответить с цитированием
  #2 (permalink)  
Старый 02.07.2013, 11:40
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
Хочу произвести
Цитата:
хочу увидеть
все-таки "хочу сделать" и "хочу чтоб за меня сделали" это немножко разные вещи
тем более в результате будет всего несколько строк
Ответить с цитированием
  #3 (permalink)  
Старый 02.07.2013, 11:50
Интересующийся
Отправить личное сообщение для izbash Посмотреть профиль Найти все сообщения от izbash
 
Регистрация: 28.06.2013
Сообщений: 19

Я не могу понять систему работы XMLHTTPRequest объекта и методов GET/POST поэтому прошу помочь на примере данного приложения, помочь познакомится мне с алгоритмом действий!
Ответить с цитированием
  #4 (permalink)  
Старый 02.07.2013, 12:01
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
XMLHttpRequest
о, решили начать с низкого уровня. похвально
может кто-нибудь и захочет в 100-й для себя раз объяснить то, что что уже 100.000 раз объяснено в других частях интернета
Ответить с цитированием
  #5 (permalink)  
Старый 02.07.2013, 12:07
Интересующийся
Отправить личное сообщение для izbash Посмотреть профиль Найти все сообщения от izbash
 
Регистрация: 28.06.2013
Сообщений: 19

Ты знаешь, не могу найти наиболее полную и понятную информацию по работе с XMLHTTPRequest, не могу собрать в голове общую картину! Поэтому и обращаюсь за помощью, тем более, что я так понял ни чего сверх сложного объяснять не нужно здесь.
Ответить с цитированием
  #6 (permalink)  
Старый 02.07.2013, 13:59
Интересующийся
Отправить личное сообщение для izbash Посмотреть профиль Найти все сообщения от izbash
 
Регистрация: 28.06.2013
Сообщений: 19

Пытаюсь сам разобраться:

window.onload;
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://www.googleapis.com/urlshortener/v1/url", true);
xhr.setRequestHeader("Content-Type", "application/JSON");
xhr.send("http://www.google.com/");

Но почему то скрипт не работает, я грешу на метод send(), возможно я не правильно его использую??
Ответить с цитированием
  #7 (permalink)  
Старый 02.07.2013, 16:22
Интересующийся
Отправить личное сообщение для HaseProgram Посмотреть профиль Найти все сообщения от HaseProgram
 
Регистрация: 07.03.2012
Сообщений: 28

function loadXMLDoc() {
var xmlhttp;
if (window.XMLHttpRequest) {
  xmlhttp=new XMLHttpRequest();
  }
else {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
var params = 'http://www.google.com/';
xmlhttp.open("POST","https://www.googleapis.com/urlshortener/v1/url",true);
xmlhttp.setRequestHeader("Content-Type", "application/JSON");
xmlhttp.send(params);
}
loadXMLDoc();


Может быть так?

Последний раз редактировалось HaseProgram, 02.07.2013 в 16:27.
Ответить с цитированием
  #8 (permalink)  
Старый 02.07.2013, 16:33
Интересующийся
Отправить личное сообщение для izbash Посмотреть профиль Найти все сообщения от izbash
 
Регистрация: 28.06.2013
Сообщений: 19

Задание выполнено:

var xhr = new XMLHttpRequest();

xhr.open("POST", "https://www.googleapis.com/urlshortener/v1/url", true);

xhr.setRequestHeader("Content-Type", "application/JSON");

xhr.send(JSON.stringify({longUrl: "http://www.google.com"}));
//Указываем и отправляем на обработку ссылку которую хотим укоротить

xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    console.log(xhr.responseText); 
//Выводим на экран ответ сервера
}
}


Непонятно почему используется responseText, а не responseXML! Хотя данные приходят в json формате!??

Осталось вытащить из json нужные данные!

Особая благодарность mta88.
Ответить с цитированием
  #9 (permalink)  
Старый 02.07.2013, 20:37
Интересующийся
Отправить личное сообщение для izbash Посмотреть профиль Найти все сообщения от izbash
 
Регистрация: 28.06.2013
Сообщений: 19

Возник еще один вопрос по поводу JSON! Как взять window.location.href и отправить на сервер в формате JSON??
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MVC vs API. Ваше мнение. B~Vladi Общие вопросы Javascript 58 19.10.2010 16:29